package cn.com.api.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import cn.com.api.entity.ApiTmember;
import cn.com.util.PageInfo;

public interface ApiTmemberMapper {

	int deleteByPrimaryKey(String cId);

	int insert(ApiTmember record);

	int insertSelective(ApiTmember record);

	ApiTmember selectByPrimaryKey(String cId);

	int updateByPrimaryKeySelective(ApiTmember record);

	int updateByPrimaryKey(ApiTmember record);

	// 登录
	public ApiTmember login(@Param("u_id") String u_id, @Param("pwd") String pwd);

	// 验证密码
	public ApiTmember CheckUser(@Param("u_id") Integer u_id, @Param("pwd") String pwd);

	// 保存新用户
	public void saveApiTmember(ApiTmember member);

	// 登录注册成功后更新用户信息 token 登录时间
	public void updateApiTmember(ApiTmember member);

	// 根据cuserid查询用户
	public ApiTmember findMemberByCuserid(@Param("cUserId") String cUserId);

	// 根据用户ID取用户信息，T_member表中的c_id字段
	public ApiTmember findMemberByCid(@Param("cid") Integer cid);

	// 登录注册成功后更新用户信息 token 登录时间
	public void updateApiTmemberPass(ApiTmember member);

	// 修改用户信息
	public void modifyApiTmemberByCuserid(Map map);

	// 第三方登陆新加↓↓↓↓
	// 判断是否是第一次用第三方登陆
	public ApiTmember isExistThirdLogin(@Param("type") String type, @Param("openid") String openid);

	public void saveThirdTmember(ApiTmember member);

	public void updateThirdMember(ApiTmember member);

	// 第三方登陆新加↑↑↑↑

	public List<ApiTmember> findT_membersByRole(@Param("c_mtype") Integer c_mtype);

	public List<Map<String, Object>> searMemberByType(@Param("type") String type);

	// 更新是否登录标识
	public void updateLoginFlagByUid(@Param("u_id") Integer u_id, @Param("is_login") Integer is_login);

	// 根据认证编号获取人员信息
	public ApiTmember findMemberByPartnerCode(@Param("partner_code") String partner_code);
	
	// 根据会员编号获取人员信息
	public ApiTmember findMemberByMemberCode(@Param("membercode") String membercode);
	
	// 根据会员邀请码获取人员信息
	public ApiTmember findMemberByCode(@Param("code") String membercode);

	// 更新用户首媒号
	public void updateSmcodeByUid(@Param("u_id") Integer u_id, @Param("sm_code") String sm_code);

	// 根据推荐人认证编号获取推荐企业主人员信息
	public List<ApiTmember> findEntreMemberByRefereeID(@Param("referee_id") String referee_id);

	// 根据推荐人认证编号获取推荐核伙人员信息
	public List<ApiTmember> findpartnerMemberByRefereeID(@Param("referee_id") String referee_id);

	// 根据推荐人认证编号获取推荐核伙人员信息 (分页)
	public List<ApiTmember> findpartnerMemberByRefereeIDListPage(@Param("referee_id") String referee_id,
			@Param("page") PageInfo page);

	public List<ApiTmember> findMemberByWordsListPage(@Param("user_id") String user_id,
			@Param("keyword") String keyword, @Param("page") PageInfo page);

	// <!-- 获取关注的人个列表 -->
	public List<ApiTmember> findMemberListByFollowTypeListPage(@Param("user_id") String user_id,
			@Param("type") Integer type, @Param("page") PageInfo page);

	public void updatePwdByMobile(@Param("mob") String mobile, @Param("pwd") String pwd);

	public ApiTmember checkPayPass(@Param(value = "userId") String userId, @Param(value = "pwd") String passWord);
}